package com.bsoft.gol.hcs.visitrecord.bean.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import com.bsoft.gol.hcs.visitrecord.entity.VrVisitDiagnosis;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 门诊记录返参实体类
 * Created by ChenJij on 2020/9/5.
 */
@XmlRootElement(name = "Record")
public class OutpatientRecordListVo implements Serializable {
    private String visitNo;
    private String registeredSeriaNo;
    private String patientId;
    private String patientName;
    private String patientSex;
    private String patientAge;
    private String patientAgeText;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
    private Date patientBirthday;
    private String cardType;
    private String cardNumber;
    private String patientMedicalCardType;
    private String patientMedicalCardNumber;
    private String telephone;
    private String address;
    private String organizationId;
    private String organizationName;
    private String departmentId;
    private String departmentName;
    private String doctorId;
    private String doctorName;
    private String diagnosisType;
    private String mainDiagnosisCode;
    private String mainDiagnosisName;
    private Date startTime;
    private Date endTime;
    private String visitStatus;
    private String visitType;
    private String companionName;
    private String companionRelationship;
    private String companionPhone;
    private String companionAddress;
    private String companionCompany;
    private String bedNumber;
    private Byte admissionAge;
    private String remarks;
    private String satisfactionStatus;
    private int surveyNumber;
    private int finishNumber;
    private List<VrVisitDiagnosis> diagnosisList;

    @XmlElement(name = "VisitId")
    public String getVisitNo() {
        return visitNo;
    }

    public void setVisitNo(String visitNo) {
        this.visitNo = visitNo;
    }

    @XmlElement(name = "OutRegistryId")
    public String getRegisteredSeriaNo() {
        return registeredSeriaNo;
    }

    public void setRegisteredSeriaNo(String registeredSeriaNo) {
        this.registeredSeriaNo = registeredSeriaNo;
    }

    @XmlElement(name = "SourcePatientId")
    public String getPatientId() {
        return patientId;
    }

    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }

    @XmlElement(name = "Name")
    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    @XmlElement(name = "Sex")
    public String getPatientSex() {
        return patientSex;
    }

    public void setPatientSex(String patientSex) {
        this.patientSex = patientSex;
    }


    @XmlElement(name = "Age")
    public String getPatientAgeText() {
        return patientAgeText;
    }

    public void setPatientAgeText(String patientAgeText) {
        this.patientAgeText = patientAgeText;
    }

    public String getPatientAge() {
        return patientAge;
    }

    public void setPatientAge(String patientAge) {
        this.patientAge = patientAge;
    }

    @XmlElement(name = "BirthDate")
    public Date getPatientBirthday() {
        return patientBirthday;
    }

    public void setPatientBirthday(Date patientBirthday) {
        this.patientBirthday = patientBirthday;
    }

    @XmlElement(name = "IdCardCode")
    public String getCardType() {
        return cardType;
    }

    public void setCardType(String cardType) {
        this.cardType = cardType;
    }

    @XmlElement(name = "IdCard")
    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    @XmlElement(name = "MedicalCardType")
    public String getPatientMedicalCardType() {
        return patientMedicalCardType;
    }

    public void setPatientMedicalCardType(String patientMedicalCardType) {
        this.patientMedicalCardType = patientMedicalCardType;
    }

    @XmlElement(name = "MedicalCardId")
    public String getPatientMedicalCardNumber() {
        return patientMedicalCardNumber;
    }

    public void setPatientMedicalCardNumber(String patientMedicalCardNumber) {
        this.patientMedicalCardNumber = patientMedicalCardNumber;
    }

    @XmlElement(name = "ContactNo")
    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @XmlElement(name = "VisitOrganization")
    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    @XmlElement(name = "VisitOrganizationName")
    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    @XmlElement(name = "DeptCode")
    public String getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }

    @XmlElement(name = "DeptName")
    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    @XmlElement(name = "DoctorCode")
    public String getDoctorId() {
        return doctorId;
    }

    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }

    @XmlElement(name = "DoctorName")
    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public String getDiagnosisType() {
        return diagnosisType;
    }

    public void setDiagnosisType(String diagnosisType) {
        this.diagnosisType = diagnosisType;
    }

    public String getMainDiagnosisCode() {
        return mainDiagnosisCode;
    }

    public void setMainDiagnosisCode(String mainDiagnosisCode) {
        this.mainDiagnosisCode = mainDiagnosisCode;
    }

    public String getMainDiagnosisName() {
        return mainDiagnosisName;
    }

    public void setMainDiagnosisName(String mainDiagnosisName) {
        this.mainDiagnosisName = mainDiagnosisName;
    }

    @XmlElement(name = "VisitBeginDateTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh_CN", timezone = "GMT+8")
    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    @XmlElement(name = "VisitEndDateTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",locale = "zh_CN", timezone = "GMT+8")
    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getVisitStatus() {
        return visitStatus;
    }

    public void setVisitStatus(String visitStatus) {
        this.visitStatus = visitStatus;
    }

    @XmlElement(name = "VisitType")
    public String getVisitType() {
        return visitType;
    }

    public void setVisitType(String visitType) {
        this.visitType = visitType;
    }

    public String getCompanionName() {
        return companionName;
    }

    public void setCompanionName(String companionName) {
        this.companionName = companionName;
    }

    public String getCompanionRelationship() {
        return companionRelationship;
    }

    public void setCompanionRelationship(String companionRelationship) {
        this.companionRelationship = companionRelationship;
    }

    public String getCompanionPhone() {
        return companionPhone;
    }

    public void setCompanionPhone(String companionPhone) {
        this.companionPhone = companionPhone;
    }

    public String getCompanionAddress() {
        return companionAddress;
    }

    public void setCompanionAddress(String companionAddress) {
        this.companionAddress = companionAddress;
    }

    public String getCompanionCompany() {
        return companionCompany;
    }

    public void setCompanionCompany(String companionCompany) {
        this.companionCompany = companionCompany;
    }

    public String getBedNumber() {
        return bedNumber;
    }

    public void setBedNumber(String bedNumber) {
        this.bedNumber = bedNumber;
    }

    public Byte getAdmissionAge() {
        return admissionAge;
    }

    public void setAdmissionAge(Byte admissionAge) {
        this.admissionAge = admissionAge;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getSatisfactionStatus() {
        return satisfactionStatus;
    }

    public void setSatisfactionStatus(String satisfactionStatus) {
        this.satisfactionStatus = satisfactionStatus;
    }

    public int getSurveyNumber() {
        return surveyNumber;
    }

    public void setSurveyNumber(int surveyNumber) {
        this.surveyNumber = surveyNumber;
    }

    public int getFinishNumber() {
        return finishNumber;
    }

    public void setFinishNumber(int finishNumber) {
        this.finishNumber = finishNumber;
    }

    @XmlElementWrapper(name = "DiagLists")
    @XmlElement(name = "DiagList")
    public List<VrVisitDiagnosis> getDiagnosisList() {
        return diagnosisList;
    }

    public void setDiagnosisList(List<VrVisitDiagnosis> diagnosisList) {
        this.diagnosisList = diagnosisList;
    }
}